<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>
      GeographicLib
    </title>
    <meta name="description" content="GeographicLib" />
    <meta name="keywords"
	  content="geographic projections,
		   transverse Mercator,
		   polar stereographic,
		   azimuthal equidistant,
		   Cassini-Soldner,
		   UTM, UPS, MGRS,
		   geocentric coordinates,
		   geodetic coordinates,
		   local Cartesian coordinates,
		   geodesics, shortest path,
		   direct geodesic problem,
		   inverse geodesic problem,
		   rhumb line, loxodrome,
		   geoid, EGM84, EGM96, EGM2008,
		   earth gravity model,
		   gravity disturbance,
		   gravity anomaly,
		   deflection of the vertical,
		   geomagnetism, WMM2010, EMM2010, IGRF11,
		   WGS84 ellipsoid,
		   latitude and longitude,
		   degrees minutes and seconds,
		   C++ library" />
    <meta name="author" content="Charles F. F. Karney" />
  </head>
  <body topmargin=10 leftmargin=10>
    <h3>GeographicLib</h3>
    <p>
      GeographicLib is a small set of C++ classes for performing
      conversions between geographic, UTM, UPS, MGRS, geocentric, and
      local cartesian coordinates, for gravity (e.g., EGM2008), geoid
      height, and geomagnetic field (e.g., WMM2010) calculations, and
      for solving geodesic problems.  (The library may be used from .NET
      applications using the NETGeographicLib wrapper library.) It is a
      suitable replacement for the core functionality provided by
      <a href="http://earth-info.nima.mil/GandG/geotrans/">geotrans</a>.
      The library is licensed under the
      <a href="http://www.opensource.org/licenses/MIT">MIT/X11 License</a>;
      see <a href="html/LICENSE.txt">LICENSE.txt</a> for the terms.
    </p>
    <ul>
      <li><a href="https://sf.net/projects/geographiclib/">
	  Main project page</a>
      <li><a href="html">Library documentation</a>
      <li><a href="https://sf.net/projects/geographiclib/files/distrib">
	  Download the code</a>
      <li><a href="html/NET/">.NET wrapper library documentation</a>
      <li>Implementations of the geodesic routines in
	<a href="html/other.html">other languages</a>:
	<ul>
	  <li>C: <a href="html/C/">http://geographiclib.sf.net/html/C/</a> 
	    (this is also included with
	    <a href="http://trac.osgeo.org/proj/">proj.4</a>,
	    version 4.9.0 and later)
	  <li>Fortran: <a href="html/Fortran/">
	      http://geographiclib.sf.net/html/Fortran/</a>
	  <li>Java: <a href="html/java/">
	      http://geographiclib.sf.net/html/java/</a>
	  <li>Python:
	    <a href="http://pypi.python.org/pypi/geographiclib">
	      http://pypi.python.org/pypi/geographiclib</a>
	  <li>JavaScript:
	    <a href="scripts/geographiclib.js">
	      http://geographiclib.sf.net/scripts/geographiclib.js</a>
	  <li>Matlab toolboxes:
	    <a href="http://www.mathworks.com/matlabcentral/fileexchange/39108">
	      File ID: 39108 (geodesics)</a>;
	    <a href="http://www.mathworks.com/matlabcentral/fileexchange/50605">
	      File ID: 50605 (geodesics + other components of GeographicLib)</a>
	  <li>IDL (not part of GeographicLib):
	    <a href="http://seanelvidge.com/2013/04/newtons-method-for-solving-the-inverse-geodesic-problem-in-idl/">
	    Solving the inverse geodesic problem in IDL</a> by Sean
	    Elvidge and Chris Mannix.
	  <li>C# (not part of GeographicLib):
	    <a href="https://github.com/suryapratap/GeographicLib">
	    GeographicLib (C#)</a> by Surya Pratap (the same capability
	    is provided by the <a href="html/NET/">NETGeographicLib</a>).
	  <li>Mathematica (not part of GeographicLib):
	    <a href="https://code.google.com/p/mathematica-geodesic/">
	    mathematica-geodesic</a> by Kei Misawa.
	</ul>
      <li><a href="https://sf.net/projects/geographiclib/files/testdata">
	  Test data</a> for
	<ul>
	  <li>the <a href="html/geodesic.html#testgeod">
	      geodesic problem</a>
	  <li>the <a href="html/transversemercator.html#testmerc">
	      transverse Mercator projection</a>
	  <li><a href="html/geoid.html#testgeoid">
	      geoid heights</a>
	</ul>
      <li><a href="https://sf.net/projects/geographiclib/files/geoids-distrib">
	  Gridded geoid data</a>; see
	<a href="html/geoid.html#geoidinst">here</a> for
	documentation
      <li><a href="https://sf.net/projects/geographiclib/files/gravity-distrib">
	  Earth gravity models</a>; see
	<a href="html/gravity.html#gravityinst">here</a> for
	documentation
      <li><a href="https://sf.net/projects/geographiclib/files/magnetic-distrib">
	  Geomagnetic models</a>; see
	<a href="html/magnetic.html#magneticinst">here</a> for
	documentation
      <li>
	Online calculations using GeographicLib
	<a href="html/utilities.html">utilities</a>
	<ul>
	  <li>
	    <a href="cgi-bin/GeoConvert">
	      geographic coordinate conversions</a> between
	    latitude/longitude, UTM or UPS, and MGRS
	  <li>
	    <a href="cgi-bin/GeodSolve">
	      direct and inverse geodesic calculations</a>
	  <li>
	    <a href="cgi-bin/Planimeter">
	      calculate the perimeter and area of geodesic polygons</a>
	  <li>
	    <a href="scripts/geod-calc.html">
	      various geodesic calculations using JavaScript</a>
	  <li>
	    <a href="scripts/geod-google.html">
	      a tool for displaying geodesics on Google Maps</a>
	  <li>
	    <a href="http://www.javawa.nl/coordcalc_en.html">
	      a graphical tool by gps@javawa.nl for geodesic calculations</a>
	  <li>
	    <a href="cgi-bin/RhumbSolve">
	      rhumb line calculator</a>
	  <li>
	    <a href="cgi-bin/GeoidEval">
	      evaluate the geoid height</a> for
	    EGM84, EGM96, and EGM2008
	</ul>
      <li>
	<a href="geodesic-papers/biblio.html">
	  An online geodesic bibliography</a>.
	This lists many papers treating geodesics on an ellipsoid and
	includes links to online versions of the papers.
      <li>
	<a href="tm.html">Resource page</a> for
	<ul>
	  <li>
	    C. F. F. Karney,
	    <a href="https://dx.doi.org/10.1007/s00190-011-0445-3">
	      <i>Transverse Mercator with an accuracy of a few
		nanometers</i></a>,
	    J. Geodesy <b>85</b>(8), 475&ndash;485 (Aug. 2011); preprint
	    <a href="http://arxiv.org/abs/1002.1417">
	      arXiv:1002.1417</a>;
	    <a href="tm-addenda.html"><b>addenda</b>.
	</ul>
      <li>
	<a href="geod.html">Resource page</a> for
	<ul>
	  <li>
	    C. F. F. Karney,
	    <i>Geodesics on an ellipsoid of revolution</i>,
	    <a href="http://arxiv.org/abs/1102.1215"> arXiv:1102.1215</a>
	    (Feb. 2011).
	  <li>
	    C. F. F. Karney,
	    <a href="https://dx.doi.org/10.1007/s00190-012-0578-z">
	      <i>Algorithms for geodesics</i></a>,
	    J. Geodesy <b>87</b>(1), 43&ndash;55 (Jan. 2013); DOI:
	    <a href="https://dx.doi.org/10.1007/s00190-012-0578-z">
	      10.1007/s00190-012-0578-z</a>;
	    <a href="geod-addenda.html"><b>addenda</b></a>.
	</ul>
    </ul>
    <hr>
    <address>Charles Karney
      <a href="mailto:charles@karney.com">&lt;charles@karney.com&gt;</a>
      (2015-04-27)</address>
    <br>
  </body>
</html>
